package com.venutech.gongan.dao;

import com.baomidou.mybatisplus.plugins.Page;
import com.venutech.gongan.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 用户操作Dao接口
 */
@Mapper
public interface UserMapper {
    /**
     * 插入数据
     * @return
     */
    int insert(User user);

    /**
     * 查询用户名是否存在
     * @param login_user_name
     * @return
     */
    User searchUserName(@Param("login_user_name") String login_user_name);

    /**
     * 用户登录
     * @param login_user_name
     * @param login_password
     * @return
     */
    User login(@Param("login_user_name") String login_user_name, @Param("login_password") String login_password);

    /**
     * 查询所有用户
     * @return
     */
    List<User> selectAll();

    //根据id删除信息
    int deleteById(Integer user_id);

    //根据id修改信息
    int updateUser(User user);

    //根据ID返回对象
    User getById(Integer user_id);

    //分页查询所有信息
    List<User> getInfo(String begintime, String endtime, String badw, Page<User> page, @Param("login_user_name") String login_user_name);

    //分页查询所有信息
    List<User> getInfoEmpno(Page<User> page, @Param("employee_no") String employee_no);

    User getByUsername(String username);

    User getByEmployeeNo(String employeeNo);

    List<Integer> getUserRoles(Integer userId);

    int updateUserPassword(@Param("userId") int userId, @Param("newPassword") String newPassword);
}
